//注意代码规范及可读性
//后期此处代码应该分到不同的js文件中
var mainObj = document.getElementById("main");
var VirusArray = [];// 病毒1数组
//病毒2数组
//病毒3数组
//口罩1数组
//口罩2数组
//疫苗1数组
//疫苗2数组
var player;//玩家图标

//创建病毒
/*
属性：
图片节点
图片
x坐标
y坐标
速度
行为：
移动
初始化 把图片节点添加到main里面

注意：图片路径问题
*/
function Virus(imgSrc, x, y, speed) {
    this.imgNode = document.createElement("img");
    this.imgSrc = imgSrc;
    this.x = x;
    this.y = y;
    this.speed = speed;

    this.imgNode.style.width = 50 + "px";
    this.imgNode.style.height = 50 + "px";
    this.imgNode.style.border = "2px solid red";
    this.imgNode.style.borderRadius = 20 + "px";

    this.init = function () {
        this.imgNode.src = this.imgSrc;
        this.imgNode.style.position = "absolute";
        this.imgNode.style.left = this.x + "px";
        this.imgNode.style.top = this.y + "px";

        mainObj.appendChild(this.imgNode);
        // element.appendChild()向元素添加新的子节点，作为最后一个子节点。
    }
    this.init();

    this.move = function () {
        //移动，可能用不到
        this.imgNode.style.top = parseInt(this.imgNode.style.top) + this.speed + "px";
        this.imgNode.style.left = parseInt(this.imgNode.style.left) + this.speed + "px";
    }
}

function CreateVirus() {
    //x::宽度 700，图片宽度50 剩下650 这650都可能出现
    //y::高度同理 450
    //后期高度宽度都要修改 此处数据仅参考使用
    var virus1 = new Virus("images/bingdu1.png", parseInt(Math.random() * 650), parseInt(Math.random() * 450), parseInt(Math.random() * 10) + 1);
    //速度为0-10 之间随机数 +1 保证不为0
    VirusArray.push(virus1);
}

setInterval(CreateVirus, 1000);
// 每隔1000ms执行一次，后期要修改此数据

iSpeed = 100

function VirusMove() {

    for (var i = 0; i < VirusArray.length; i++) {
        VirusArray[i].move();
        if ((parseInt(VirusArray[i].imgNode.style.top) >= 450) || (parseInt(VirusArray[i].imgNode.style.left) >= 650)) {
            mainObj.removeChild(VirusArray[i].imgNode);//移除越界子节点
            VirusArray.splice(i, 1);//数组中移除
            iSpeed = iSpeed - 1;//进度条
            jindu.style.width = iSpeed + "%";
        }
        if (iSpeed == 0)
            alert("GAME OVER");
    }
}

setInterval(VirusMove, 50);


//玩家图标创建
/*
属性：
图片节点
图片
x坐标
y坐标
速度
行为：
移动 ---> 上下左右
初始化 把图片节点添加到main里面

注意：图片路径问题
*/

function Player(imgSrc, x, y, speed) {
    this.imgNode = document.createElement("img");
    this.imgSrc = imgSrc;
    this.x = x;
    this.y = y;
    this.speed = speed;

    this.imgNode.style.width = 100 + "px";
    this.imgNode.style.height = 80 + "px";

    this.imgNode.style.borderRadius = 20 + "px";

    this.init = function () {
        this.imgNode.src = this.imgSrc;
        this.imgNode.style.position = "absolute";

        //此处的100为 玩家图像的width，80 为玩家图像的height，
        //700 为游戏窗口大小，500 为游戏窗口的height
        //此处数值后期应该修改
        //可以用变量得到游戏窗口的width和height，
        //用变量得到图像imgNode.style.width 和height,
        //这样更加灵活，可以随意调整窗口及图像大小，而不用修改很多代码。此处图省事就未采用该方法
        //后期修改应采用此方法

        if (x + 100 >= 700) { //判断生成的图像是否超右边界
            //若超出右边界，则在紧靠近右边界的位置上生成
            this.imgNode.style.left = 600 + "px";
            this.imgNode.style.top = this.y + "px";
        } else if (y + 80 >= 500) { //判断是否超下边界
            this.imgNode.style.left = this.x + "px";
            this.imgNode.style.top = 420 + "px";
        } else {
            this.imgNode.style.left = this.x + "px";
            this.imgNode.style.top = this.y + "px";
        }


        mainObj.appendChild(this.imgNode);
        // element.appendChild()向元素添加新的子节点，作为最后一个子节点。
    }
    this.init();


}


var game = document.getElementById("main");

function now(event, obj) { //当前光标在游戏窗口内的位置

    nowX = event.clientX - obj.offsetLeft;
    nowY = event.clientY - obj.offsetTop;
    player = new Player("images/player.png", nowX, nowY); //点击屏幕内某个位置，在该位置上出现图片

    //能力有限，碰撞搞不出来了，交给你们了
    // //是否重合（碰撞）
    // this.crashCheck = function(){
    //     for(var i = 0;i < VirusArray.length;i ++){
    //         var w = VirusArray[i].imgNode.style.left;
    //         var h = VirusArray[i].imgNode.style.top;
    //         if( (nowX >= w && nowX <= w + 100 ) && (nowY >= h && nowY <= h + 80) ){  //数据记得换啊！！，100 * 80 是玩家图像大小，但是此处用的是光标位置在病毒图像内部才算是true，后期可以调整一下
    //             console.log("碰撞了")


    //         }

    //     }

    // }

    // this.setInterval(crashCheck,50);

}

// onmousedown = "now(event,this)"; 在上面游戏窗口div处
//此处我原本想用mainObj.onmouseup = function(){} 的形式，但没搞好，后期搞的时候可以试试

function clickUp() {
    mainObj.removeChild(player.imgNode);
}


// var mainObj = document.getElementById("main");
// var VirusArray = [];
// var yiMiao=[];

// //height: 800px;width:1170px;
// function Virus(imgSrc, x, y, speed) {
//     this.imgNode = document.createElement("img");
//     this.imgSrc = imgSrc;
//     this.x = x;
//     this.y = y;
//     this.speed = speed;

    
//     this.imgNode.style.width = 50 + "px";
//     this.imgNode.style.height = 50 + "px";
//     this.imgNode.style.border = "2px solid red";
//     this.imgNode.style.borderRadius = 20 + "px";

//     this.init = function () {
//         this.imgNode.src = this.imgSrc;
//         this.imgNode.style.position = "absolute";
//         this.imgNode.style.left = this.x + "px";
//         this.imgNode.style.top = this.y + "px";

//         mainObj.appendChild(this.imgNode);
//         // element.appendChild()向元素添加新的子节点，作为最后一个子节点。
//     }
//     this.init();

//     this.move = function () {
//         //移动，可能用不到
//         this.imgNode.style.top = parseInt(this.imgNode.style.top) + this.speed + "px";
//         this.imgNode.style.left = parseInt(this.imgNode.style.left) + this.speed + "px";
//     }
// }
// //生成从minNum到maxNum的随机数
// function randomNum(minNum,maxNum){ 
//     switch(arguments.length){ 
//         case 1: 
//             return parseInt(Math.random()*minNum+1,10); 
//         break; 
//         case 2: 
//             return parseInt(Math.random()*(maxNum-minNum+1)+minNum,10); 
//         break; 
//             default: 
//                 return 0; 
//             break; 
//     } 
// } 
// function CreateVirus() {
//     //x::宽度 700，图片宽度50 剩下650 这650都可能出现
//     //y::高度同理 450
//     //后期高度宽度都要修改 此处数据仅参考使用
//     //height: 800px;width:1170px; 第一次修改
//     var n = "images/bingdu" + randomNum(1,3) + ".png";
//     i=0;
//     var virus1 = new Virus(n, parseInt(Math.random() * 1120), parseInt(Math.random() * 750), parseInt(Math.random() * 10) + 1);
//     /*var n="bingdu"+i;
//     virus1.classList.add(n);*/
//     //速度为0-10 之间随机数 +1 保证不为0
//     VirusArray.push(virus1);
// }
// setInterval(CreateVirus, 1000);
// // 每隔1000ms执行一次，后期要修改此数据

// function CreateYiMiao() {
//     //x::宽度 700，图片宽度50 剩下650 这650都可能出现
//     //y::高度同理 450
//     //后期高度宽度都要修改 此处数据仅参考使用
//     i=0;
//     var yiMiao1 = new Virus("images/yiMiao.png", parseInt(Math.random() * 1120), parseInt(Math.random() * 750), parseInt(Math.random() * 10) + 1);
//     /*var n="bingdu"+i;
//     virus1.classList.add(n);*/
//     //速度为0-10 之间随机数 +1 保证不为0
//     yiMiao.push(yiMiao1);
// }
// setInterval(CreateYiMiao, 1000);

// function dianJi(event,obj)
// {
//     x=event.clientX - obj.offsetLeft;
//     y=event.clientY - obj.offsetTop;
    

//     for(var i = 0;i < VirusArray.length;i ++){
//         var w = VirusArray[i].imgNode.style.left;
//         var h = VirusArray[i].imgNode.style.top;

//         if(((x>=parseInt(w))&&(x<=(parseInt(w)+50)))&&((y>=parseInt(h))&&(y<=(parseInt(h)+50)))){  //数据记得换啊！！，100 * 80 是玩家图像大小，但是此处用的是光标位置在病毒图像内部才算是true，后期可以调整一下
//             mainObj.removeChild(VirusArray[i].imgNode);//移除越界子节点
//             VirusArray.splice(i, 1);//数组中移除

//         }

//     }

// }
// iSpeed=100
// function VirusMove() {
    
//     for (var i = 0; i < VirusArray.length; i++) {
//         VirusArray[i].move();
//         if ((parseInt(VirusArray[i].imgNode.style.top) >= 750) || (parseInt(VirusArray[i].imgNode.style.left) >= 1120)) {
//             mainObj.removeChild(VirusArray[i].imgNode);//移除越界子节点
//             VirusArray.splice(i, 1);//数组中移除
//             iSpeed=iSpeed-1;//进度条
//             jindu.style.width=iSpeed+"%";
//         }
//         if(iSpeed==0)
//             alert("GAME OVER");//游戏结束
//     }
// }
// setInterval(VirusMove, 50);
// function yiMiaoMove() {
    
//     for (var i = 0; i < yiMiao.length; i++) {
//         yiMiao[i].move();
//         if ((parseInt(yiMiao[i].imgNode.style.top) >= 750) || (parseInt(yiMiao[i].imgNode.style.left) >= 1120)) {
//             mainObj.removeChild(yiMiao[i].imgNode);//移除越界子节点
//             yiMiao.splice(i, 1);//数组中移除
//         }
//     }
// }
// setInterval(yiMiaoMove, 50);

// function dianJiYiMiao(event,obj)
// {
//     x=event.clientX- obj.offsetLeft;
//     y=event.clientY - obj.offsetTop;

//     for(var i = 0;i < yiMiao.length;i ++){
//         var w = yiMiao[i].imgNode.style.left;
//         var h = yiMiao[i].imgNode.style.top;

//         if(((x>=parseInt(w))&&(x<=(parseInt(w)+50)))&&((y>=parseInt(h))&&(y<=(parseInt(h)+50)))){  //数据记得换啊！！，100 * 80 是玩家图像大小，但是此处用的是光标位置在病毒图像内部才算是true，后期可以调整一下
//             mainObj.removeChild(yiMiao[i].imgNode);//移除越界子节点
//             yiMiao.splice(i, 1);//数组中移除
//             iSpeed=iSpeed+1;
//             jindu.style.width=iSpeed+"%";
//         }

//     }

// }